#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

//int Fib(int i)
//{
//	int n1 = 0;
//	int n2 = 1;
//	if (i==0)
//	{
//		return 0;
//	}
//	else if(i<3)
//	{
//		return 1;
//	}
//	else
//	{
//		return Fib(i - 1) + Fib(i-2);
//	}
//}

int Fib(int i)
{
	int n1 = 0;
	int n2 = 1;
	int n3 = 0;
	while(i>2)
	{
		n3 = n1 + n2;
		n1 = n2;
		n2 = n3;
		i--;
    }
	return n3;
}

int main()
{
	int fib[100] = { 0 };
	int i;
	for (i = 0; i<100; i++)
	{
		fib[i] = Fib(i);
	}
	int num=0;
	int get = 0;
	while (scanf("%d", &num) != EOF)
	{
	//scanf("%d", &num);
		for (i = 0; i < 100; i++)
		{
			//if (fib[i] <= num && fib[i + 1] >= num)
			if (fib[i] == num)
			{
				get = 0;
				printf("%d", get);
				break;
			}
			else if(num<fib[i])
			{
				get = (num-fib[i-1]) > (fib[i] - num) ? (fib[i]-num) : (num - fib[i - 1]);
				printf("%d", get);
				break;
			}
		}
	}
	return 0;
}